/**
 * 使用第三方库时,发现它们都有相应的TS类型,这些类型怎么来的？ 类声明文件
 * 
 * 类型声明文件: 用来为已存在的JS库提供类型信息
 * 这样在TS项目中使用这些库时,就像用TS一样,都会有代码提示,类型保护等机制了
 * 
 * 1.TS的两种文件类型
 * 2.类型声明文件的使用说明
 */




/*  1.TS的两种文件类型
        1. ts文件
        2. .d.ts文件


    ts文件
        1. 既包含类型信息又有可执行代码
        2. 可以被编译为js文件,然后执行代码  
        3. 用途: 编写程序代码的地方

    .d.ts文件
        1. 只包含类型信息的类型声明文件
        2. 不会生成js文件,仅用于提供类型信息
        3. 用途: 为js提供类型信息

    总结: .ts是 implementation(代码实现文件)  .d.ts是declaration(类型声明文件)
    如果要为js库提供类型信息, 要使用 .d.ts 文件
*/

type Props = { 
    a:number,
    b: string,
    c:boolean
}

function add(n1:number, n2:number) {
    return n1+n2
}
console.log(add(1,2))